package com.gonsin.gmessage.example.sender;

import com.gonsin.gmessage.annotations.GArgsBody;
import com.gonsin.gmessage.annotations.GArgsParam;
import com.gonsin.gmessage.annotations.GSender;
import com.gonsin.gmessage.annotations.GZoom;
import com.gonsin.gmessage.annotations.enums.ZoomDescribe;
import com.gonsin.gmessage.example.po.I30000VersionBo;
import com.gonsin.gmessage.example.po.S10000NStatusDto;
import com.gonsin.gmessage.example.po.S30000UnitPo;
import com.gonsin.gmessage.example.po.TestMessagePo;
import com.gonsin.gmessage.logic.GMessage;

import java.util.List;

@GMessage(firstCmd = "test2", note = "测试用的消息")
public interface Demo2Sender {

    /**
     * 向域=${roomKey}的区域发送消息
     */
    @GSender(subCmd = "sub_test_2", note = "这个接口来自Demo2Sender", summary = "详细说明，接口的内容<font color=\"red\" >支持用html标签实现简单样式（markdown自带）</font>")
    void sendTest2(@GZoom String roomKey,
                  @GArgsParam(value = "message", note = "消息") TestMessagePo message,
                  @GArgsParam(value = "sender", note = "发送人", demo = "邓某") String sender);

    /**
     * 带返回的消息发送器
     */
    @GSender(subCmd = "sub_test_3", note = "这个接口来自Demo2Sender", summary = "详细说明，接口的内容<font color=\"red\" >支持用html标签实现简单样式（markdown自带）</font>")
    boolean sendTest3(@GZoom String roomKey,
                  @GArgsParam(value = "message", note = "消息") TestMessagePo message,
                  @GArgsParam(value = "sender", note = "发送人", demo = "邓某") String sender);

}
